<?php 

/**
 * 红包
 * @param  double  $totalmoney 红包总金额
 * @param  int     $nums       红包总个数
 * @param  double  $min        最小金额
 * @param  int     $type       红包类型，1手气红包，2普通红包
 * @return array   $redmoney   抽奖人列表数组
 */
function randred($totalmoney,$nums,$min=0.01,$type='luck'){
	$redmoney = array();
	//红包保留2位小数
	//普通红包，每个金额相同
	if($type === 'equal'){
		for ($i=1; $i <= $nums ; $i++) { 
			$redmoney[$i] = $totalmoney;
		}
	}else{
		//手气红包
		for ($i=1; $i < $nums; $i++) { 
			$money = ($totalmoney-($nums-$i)*$min)/($nums-$i);
			$redmoney[$i] = rand($min*100,$money*100)/100;
			$totalmoney -=$redmoney[$i]; 
		}
		$redmoney[$nums] = round($totalmoney,2);
		shuffle($redmoney);
	}
	return $redmoney;
}

$a = randred(9.9,5,0.01);
echo "<pre>";
print_r($a);
echo "总金额：".array_sum($a)." ,共".count($a)."个,".array_search(max($a), $a)."号是手气王";

?>